<?php

class VResponsabilidadeSistemaLogic extends VLogicModel {

    public function __construct() {
        parent::__construct(new VResponsabilidadeSistemaDAO());
    }

    public function ajaxListResponsabilidadeSistema($params) {

        /* Atributos do objeto que poderam ser ordenado */
        $atributos = array('nomeTipoColaborador', 'statusTipoColaborador');
        $order = TDataTableHelper::mountOrderBy($atributos, $params['iSortCol_0'], $params['sSortDir_0']);
        /* Colunas do banco a serem pesquisandas */
        $colunas = array('nom_tipo_colaborador', 'des_status_tipo_colaborador' => array('A' => 'Ativo', 'D' => 'Desativado'));
        /* Montar string de pesquisa */
        $seach = TDataTableHelper::mountSearch($colunas, $params['sSearch']);
        /* Definir where */
        $where = "ide_sistema = '{$params['idSistema']}' {$seach}";

        /* Total de registros */
        $iTotal = $this->totalRegistro($where);
        /* Listar */
        $arrayListObject = $this->listar($where, $order, null, null, $params['iDisplayStart'], $params['iDisplayLength']);
        /* Montar output */
        $output = TDataTableHelper::mountArrayOutPut($params['sEcho'], $iTotal);
        if (isset($arrayListObject[0])) {
            foreach ($arrayListObject as $objeto) {
                $status = ($objeto->getStatusTipoColaborador() === 'A') ? "<spam class='fg-emerald'>Ativo</spam>" : "<spam class='fg-red'>Desativado</spam>";
                $output['aaData'][] = array(
                    utf8_encode($objeto->getNomeTipoColaborador()),
                    utf8_encode($status)
                );
                unset($status);
            }
        }

        return json_encode($output);
    }

}

?>